package com.atguigu.mybatis.mapper;

import com.atguigu.mybatis.bean.Employee;

import java.util.List;
/*
mapper:指编写了sql的文件
Mapper: Dao。数据库访问对象

一般情况下，需要接口提供一个实现类，实例化一个实现类的对象
        如果使用的是Mybatis，它提供了一种动态代理机制，可以帮你自动为接口创建实例
*/
public interface EmployeeMapper {
    //自定义访问数据的方法，自定义参数类型和返回值类型
    //CRUD
    Employee getEmployeeById(Integer id);

    //增删改都属于写操作，不需要返回值
    void insertEmployee(Employee employee);
    void updateEmployee(Employee employee);
    void deleteEmployeeById(Integer id);

    //查询所有员工
    List<Employee> getAll();
}


//public interface EmployeeMapper {
//    //自定义访问数据的方法，自定义参数类型和返回值类型
//    //CURD
//    Employee getEmployeeById(Integer id);
//
//    //增删改都属于写操作，不需要返回值
//    void insertEmployee(Employee employee);
//    void deleteEmployee(Employee employee);
//    void updateEmployee(Employee employee);
//
//    //查询所有员工
//    List<Employee> getAll();
//}

//public interface EmployeeMapper {
//    //自定义访问数据的方法，自定义参数类型和返回值类型
//    //CURD
//    Employee getEmployeeById(Integer id);
//
//    //增删改都属于写操作，不需要返回值
//    void insertEmployee(Employee employee);
//    void deleteEmployee(Employee employee);
//    void updateEmployee(Employee employee);
//
//    //查询所有员工
//    List<Employee> getAll();
//}


//public interface EmployeeMapper {
//    //自定义访问数据的方法，自定义参数类型和返回值类型
//    //CURD
//    Employee getEmployeeById(Integer id);
//
//    //增删改都属于写操作，不需要返回值
//    void insertEmployee(Employee employee);
//    void deleteEmployee(Employee employee);
//    void updateEmployee(Employee employee);
//
//    //查询所有员工
//    List<Employee> getAll();
//}